package com.blueocean_health.care.management.service;


import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.blueocean_health.care.management.domain.base.SysResult;
import com.blueocean_health.care.management.domain.dto.FlowListDto;
import com.blueocean_health.care.management.domain.dto.UserAccountManagerDto;
import com.blueocean_health.care.management.domain.dto.UserListDto;
import com.blueocean_health.care.management.domain.dto.UserManagerListDto;
import com.blueocean_health.care.management.domain.vo.UserAccountManagerDvo;
import com.blueocean_health.care.management.domain.vo.UserListDvo;
import com.github.pagehelper.PageInfo;

/**
 * 用户信息  2018年7月12日14:06:24
 * @author wuyanli
 *
 */
public interface UserCompanyService {
	
	/**
	 * 修改启用禁用状态  2018年7月19日15:43:09
	 * @param userId
	 * @param enableStatus
	 * @return
	 */
	int updateEnableStatus(@Param("userId")String userId,@Param("enableStatus")String enableStatus);
	
	/**
	 * 用户管理列表Excel  2018年7月17日18:18:22
	 * @param userDvo
	 * @return
	 */
	List<UserListDto> getUserListExcel(UserListDvo userDvo);
	
	/**
	 * 用户管理授权联动  2018年7月17日18:13:31
	 * @param map
	 * @return
	 */
	List<FlowListDto> getTeamRoleList();
	
	/**
	 * 通过筛选条件查询用户管理 列表 2018年7月16日18:00:24
	 * @param userDvo
	 * @return
	 */
	PageInfo<UserListDto> getUserCompanyList(UserListDvo userDvo);
	

	/**
	 * 新增用户
	 * @param user
	 * @return
	 */
	SysResult addUser(UserAccountManagerDvo userDvo);
	
	/**
	 * 修改用户信息
	 * @param user
	 * @return
	 */
	SysResult updateUser(UserAccountManagerDvo userDvo);
	
	/**
	 * 通过用户查询 改用户的授权关系  2018年7月14日15:28:40
	 * @param userId
	 * @return
	 */
	UserAccountManagerDto getUserInfo(String userId);
	
	/**
	 * 负责人下拉列表 只有组织的用户  2018年7月12日15:06:27
	 * @param firstOrg
	 * @return
	 */
	List<UserManagerListDto> getUserList(Map<String,String> map);
	
}
